Molecular diffusivity
PALEOaqchem.MolecularDiffusion.create_solute_diffusivity_func
— Functioncreate_solute_diffusivity_func(species_or_constant::AbstractString) -> f_diffcoeff
Molecular diffusivity for species_or_constant
in water
Based on data compiled by (Boudreau, 1997) Ch. 4
If species_or_constant
is a species name, returns a function f_diffcoeff
, which calculates:
f_diffcoeff(TdegK, Pbar, S) -> Dmol (cm^2/s)
If species_or_constant
can be parsed into a Float64
, returns a function which provides this constant value (units cm^2/s).
The effect of pressure and salinity is approximated by assuming viscosity (calculated by MolecularDiffusion.sw_dynamic_viscosity
) is the primary consideration, (Boudreau, 1997) eqn. 4.107 and Table 4.10.
Example
To test from the Julia REPL:
julia> PALEOaqchem.MolecularDiffusion.create_solute_diffusivity_func("O2")(273.15+25, 1.0, 35)
2.211824368650775e-5
PALEOaqchem.MolecularDiffusion.sw_dynamic_viscosity
— Functionsw_dynamic_viscosity(TdegC, Pbar, S) -> mu
Seawater dynamic viscosity ((Boudreau, 1997) p94) 'claimed to accurate to within 7% over T (0 - 30C), P (1 - 1000 bar), S (0 36)'
Returns mu (10^-2 g/cm/s) (centipoise)
Arguments:
T
: deg C (0 - 30C) temperatureP
: bar (1 1000) pressureS
: salinity (0 - 36)
See check values for salinity effect Table 4.10 p.125
PALEOaqchem.MolecularDiffusion.ReactionAqMolecularDiffusivity
— TypeReactionAqMolecularDiffusivity
Calculate molecular diffusivity (cm^s s-1
) from :diffusivity_speciesname
attributes of aqueous solution concentration Variables
A Variable <species>_moldiff
is created for each <species>_conc
Variable with non-empty :diffusivity_speciesname
attribute.
:diffusivity_speciesname
may either be a known species (in which case it is looked up in create_solute_diffusivity_func
), or a constant value in cm^2 s-1
supplied as a String.